//	  $('body').mousedown(function(e){
//    		if(3==e.which){
//    		   alert($(this).html());
//    		}
//    	})
$('#gridPanel').click(function(){
	alert("okkkk!!!!!!!!!!!!!");
})		
mypanel = Ext
		.extend(
				Ext.grid.GridPanel,
				{
					selectModel : null,
					datastore : null,
					currentFolder : '',
					// 保存当前浏览的文件路径
					actions : null,
					// 菜单配置
					gridContextMenu : null,
					cm : null,
					url:null,
					h : null, // 高度
					w : null, // 宽度
					constructor : function(conf) {
						this.h = conf.height;
						this.w = conf.width;
						this.url=conf.url;
						// Ext.apply(this, conf); //相当于以上两句
						this.selectModel = new Ext.grid.CheckboxSelectionModel();
						var mystore = new Ext.data.Store({
							url : this.url,
							reader : new Ext.data.JsonReader({
								root : 'listfiles',
								totalProperty : 'totalFileNum'
							}, [ {
								name : 'file',
								type : 'bool'
							}, {
								name : 'name',
								type : 'string'
							}, {
								name : 'fileSize',
								type : 'string'
							}, {
								name : 'path',
								type : 'string'
							}, {
								name : 'fileType'
							}, {
								name : 'lastModitied',
								type : 'string'
							} ]),
							sortInfo : {
								field : 'fileSize'
							},
							// root : 'listfiles',
							// fields : [ 'file','name', 'fileType', 'fileSize',
							// 'lastModitied' ],
							autoLoad : true

						});
						// datastore end
						this.actions = [ new Ext.Action({
							text : '向上',
							iconCls : 'db-icn-back',
							handler : function() {
								this.listParentFiles();
							},
							scope : this
						}), new Ext.Action({
							text : '根目录',
							iconCls : 'db-icn-world',
							handler : function() {
								this.listRootFiles();
							},
							scope : this
						}), new Ext.Action({
							text : '新建文件夹',
							iconCls : 'db-icn-folder-new',
							handler : function() {
								this.createFolder();
							},
							scope : this
						}), new Ext.Action({
							text : '删除',
							title:'删除',
							iconCls : 'db-icn-delete',
							handler : function() {
								this.deleteFiles();
							},
							scope : this
						}), new Ext.Action({
							text : '压缩',
							iconCls : 'db-icn-folder-zip',
							handler : function() {
								this.compressionFiles();
							},
							scope : this
						}), new Ext.Action({
							text : '解压缩',
							handler : function() {
								this.decompressionFiles();
							},
							scope : this
						}), new Ext.Action({
							text : '刷新',
							iconCls : 'db-icn-refresh',
							handler : function() {
								this.refresh();
							},
							scope : this
						}), new Ext.Action({
							text : '上传',
							iconCls : 'db-icn-upload',
							handler : function() {
								this.upload();
							},
							scope : this
						}), new Ext.Action({
							text : '下载',
							iconCls : 'db-icn-download',
							handler : function() {
								this.download();
							},
							scope : this
						}), new Ext.Action({
							text : '移动',
							iconCls : 'db-icn-cut',
							handler : function() {
								this.move();
							},
							scope : this
						}), new Ext.Action({
							text : '复制',
							iconCls : 'db-icn-copy',
							handler : function() {
								this.copy();
							},
							scope : this
						}), new Ext.Action({ // index = 12
							text : '重命名',
							iconCls : 'db-icn-rename',
							handler : function() {
								Ext.Msg.alert('温馨提示', '此功能暂不开放!');
							},
							scope : this
						}) ];
						// action[] end
						var column = new Ext.grid.ColumnModel({
							defaults : {
								sortable : true
							// columns are not sortable by default
							},
							columns : [ new Ext.grid.RowNumberer(),
									this.selectModel, {
										id : 'name',
										header : '文件名',
										dataIndex : 'name',
										width : 50,
										align : 'left',
										renderer : this.addIcon
									// 加工单元格的原始数据
									}, {
										header : '文件类型',
										dataIndex : 'fileType',
										width : 20,
										align : 'center '
									}, {
										header : '大小',
										dataIndex : 'fileSize',
										width : 10,
										align : 'center '
									}, {
										header : '最后修改时间',
										dataIndex : 'lastModitied',
										width : 30,
										align : 'center '
									} ]
						});
						// cm end
						mypanel.superclass.constructor.call(this, {
							title : '文件管理',
							id : 'gridPanel',
							loadMask : {
								msg : '列表加载中...'
							},
							// width: this.w,
							height : this.h,
							width:this.w,
							ds : mystore,
							sm : this.selectModel,
							cm : column,
							tbar : [ this.actions[0], this.actions[1],
									this.actions[6], '-', this.actions[2],this.actions[3],
									this.actions[9], this.actions[10],

									'-', this.actions[7], this.actions[8], '-',
									{
										xtype : 'textfield',
										id : 'findKey',
										emptyText : '关键字查询'
									}, {
										xtype : 'button',
										text : '查找',
										margin:'0 0 0 10',
										listeners : {
											"click" : this.findByKey
										}
									} ],
							listeners : {
								'rowdblclick' : this.doubleClick,
								'rowcontextmenu':this.mycontextmenu,
								scope : this
							},
							// bbar: new Ext.PagingToolbar({
							// pageSize: 10,
							// store: this.datastore,
							// displayInfo: true,
							// displayMsg: '显示 数据 {0} - {1} of {2}',
							// emptyMsg: "没有数据可以显示"
							// })
							viewConfig : {
								forceFit : true
							}
						});
						// superclass.constructor end
					},
					// constructor end
					findByKey : function() {
						var key=$("#findKey").val();
						console.log(key);
						var store=Ext.getCmp('gridPanel').getStore();
						store.proxy.setUrl("findByKey?key="+key);
						store.load();
					},
					/**
					 * 刷新按钮响应函数
					 */
					refresh : function() {
						this.getStore().reload();
					},
					/**
					 * 双击每个条目执行的函数，向服务器请求所选文件夹的内容
					 */
					doubleClick : function(gridPanel, rowIndex, e) {
						if (!gridPanel.getStore().getAt(rowIndex).data.file) {// 如果文件夹才获访问
							var name = gridPanel.getStore().getAt(rowIndex).data.name;
							console.log("currentFolder:" + this.currentFolder);
							gridPanel.listFiles(name, this.currentFolder);
							//成功的情况下才把当前的文件夹设为成功后的文件路径
							this.currentFolder = this.currentFolder + '\\'
									+ name;
							console.log("currentFolder:" + this.currentFolder);
						}
					},
					/**
					 * 获取指定目录下的文件列表 folder 要请求的当前文件夹下的目录 parent
					 */
					listFiles : function(fileName, parent) {
						console.log("[" + fileName + "," + parent + "]");
						this.getStore().load({
							params : {
								'folder' : fileName,
								'parent' : parent
							}
						});
						console.log(fileName);
					},
					/**
					 * 列出上级目录
					 */
					listParentFiles : function() {
						if (this.currentFolder == '') {
							Ext.MessageBox.alert("提示：", "你已经在根目录下了！");
						}
						console.log("当前在：" + this.currentFolder + "长度="
								+ this.currentFolder.length);
						console.log("\\最后的位置为："
								+ this.currentFolder.lastIndexOf("\\"));
						var parent = this.currentFolder.substring(0,
								this.currentFolder.lastIndexOf("\\"));
						console.log("parent=" + parent);
						this.currentFolder = parent;
						this.listFiles(parent, "");
					},
					/**
					 * 列出根目录下文件
					 */
					listRootFiles : function() {
						this.listFiles('', '');
						this.currentFolder = '';
						console.log(""+this.currentFolder);
					},
					
					createFolder:function(){
						console.log("currentFolder:"+this.currentFolder);
						var thisCur=this.currentFolder;
						Ext.MessageBox.prompt("新建文件夹","输入文件夹名称",function(btn,text){
							if(btn=='ok'){
								//ajax配置开始
								var ajaxConf = {
										url : 'createFolder',
										params : {
											"target" : thisCur+"\\"+text
										},
										success : function(resp, opts) {
											// 刷新数据
											var respObj = Ext.util.JSON
													.decode(resp.responseText);
											if (respObj.success) {
											//	Ext.MessageBox.alert("提示", respObj.msg);
												Ext.getCmp("gridPanel").getStore()
														.reload();
											} else {
												Ext.MessageBox.alert("提示", "创建失败");
											}
										},
										failur : function(resp, opts) {
											Ext.MessageBox.alert("提示", "创建失败");
										}
									};
								//ajax配置结束
								console.log("新建文件夹："+thisCur+"\\"+text);
								Ext.Ajax.request(ajaxConf);
							}
						});
						
						
					},
					/**
					 * 文件剪切
					 */
					move : function() {
						var selected = this.selectModel.getSelections();
						if (selected.length == 1) {
							var recordselected = selected[0];

//							var srcPath = recordselected.get('path') + "\\"
//									+ recordselected.get('name');
							var srcPath = recordselected.get('path');
							
							var treeWindow = new FolderTreeWindow({
								title : '移动到',
								src : srcPath
							});
							treeWindow.show();
						} else if (selected.length == 0) {
							Ext.Msg.show({
								title : '提示',
								msg : '您需要选择一个文件,才能执行移动操作',
								icon : Ext.MessageBox.INFO,
								buttons : {
									yes : '确定'
								}
							});
						}
					},

					/**
					 * 文件复制
					 */
					copy : function() {
						var selected = this.selectModel.getSelections();
						if (selected.length == 1) {
							var recordselected = selected[0];

							var srcPath = recordselected.get('path');

							var treeWindow = new FolderTreeWindow({
								title : '复制到',
								src : srcPath
							});

							treeWindow.show();
						} else if (selected.length == 0) {
							Ext.Msg.show({
								title : '提示',
								msg : '您需要选择一个文件,才能执行复制操作',
								icon : Ext.MessageBox.INFO,
								buttons : {
									yes : '确定'
								}
							});
						}

					},

					
					
					deleteFiles : function() {
						var selected = this.selectModel.getSelections();
						if (selected.length == 1) {
							var recordselected = selected[0];
							var path = recordselected.get('path');
							var deleteName = recordselected.get('name');
							var fileSize=recordselected.get('fileSize').split('.')[0];
							var srcPath = path;
							// Ajax请求配置
							var ajaxConf = {
								url : 'delete',
								params : {
									"srcName" : deleteName,
									"delPath"	: srcPath
								}, 
								success : function(resp, opts) {
									
									// 刷新数据
									var usedspace=$("#use_space").html().split('.');
									console.log(fileSize+" "+usedspace);
									console.log(fileSize-usedspace);
									var respObj = Ext.util.JSON
											.decode(resp.responseText);
									if (respObj.success) {
										usedspace=respObj.usedspace;
							        	$("#use_space").html((usedspace/1024/1024).toFixed(2)+"M")
							        	$(".spaceUI_span").width(155*(usedspace/1024/1024).toFixed(2)/totalsize);
										Ext.MessageBox.alert("提示", respObj.msg);
										Ext.getCmp("gridPanel").getStore()
												.reload();
									} else {
										Ext.MessageBox.alert("提示", respObj.msg);
									}
								},
								failur : function(resp, opts) {
									alert("this....")
									var respObj = Ext.util.JSON
											.decode(resp.responseText);
									Ext.MessageBox.alert("提示", respObj.msg);
								}
							};

							Ext.MessageBox.confirm("警告", "确定要删除文件" + deleteName
									+ "吗？", function(id) {
								if (id == 'yes') {
									Ext.Ajax.request(ajaxConf);
								}
							}, this);

						} else if (selected.length == 0) {
							Ext.Msg.show({
								title : '提示',
								msg : '您需要选择一个文件,才能执行删除操作',
								icon : Ext.MessageBox.INFO,
								buttons : {
									yes : '确定'
								}
							});
						}else{
							Ext.Msg.show({
								title : '对不起',
								msg : '删除操作当前只支持对单个文件',
								icon : Ext.MessageBox.INFO,
								buttons : {
									yes : '确定'
								}
							});
						}

					},

					/**
					 * 文件上传
					 */
					upload : function() {
						var uploadWin = new uploadWindow({
							targetFolder : this.currentFolder
						});
						uploadWin.show();
					},
					
					
					/**
					 * 右键菜单
					 */
					mycontextmenu:function(gridPanel,rowIndex,e){
						gridPanel.getSelectionModel().selectRow(rowIndex);//获取选中行
						
						$('#gridPanel').contextMenu('myMenu1', 
							     {
							          bindings: 
							          {
							            'download': function(t) {
							        		  gridPanel.download();
							        	 },
							        	'upload': function(t) {
							        		  gridPanel.upload();
							        	 },
							            'move': function(t) {
							            	gridPanel.move();
							            },
							            'copy': function(t) {
							            	gridPanel.copy();
							            },
							            'delete': function(t) {
							            	gridPanel.deleteFiles();
							            },
							          }

							    });
						
						
//						$('#gridPanel').contextPopup({
//				            title: '菜单',
//				            items: [
//				              {label:'刪除', action:function() { gridPanel.deleteFiles();} },
//				              {label:'复制到', action:function() { alert('clicked 2') } },
//				              null, // divider
//				              {label:'移动到', action:function() { alert('clicked 4') } },
//				              null, // divider
//				              {label:'下载', action:function() { alert('clicked 77') } },
//				            ]
//				          }); 
						
					},
				      

					/**
					 * 文件下载
					 */
					download : function() {
						var selected = this.selectModel.getSelections();
						if(!selected[0].data.file){
							Ext.Msg.show({
								title : '提示',
								msg : '请选择单个文件进行下载',
								icon : Ext.MessageBox.INFO,
								buttons : {
									yes : '确定'
								}
							});
							return;
						}
						console.log(selected.length);
						if (selected.length == 1) {
							var recordselected = selected[0];
							var path = recordselected.get('path');
							var fileName = recordselected.get('name');
							console.log("选择的文件是:" + fileName);
							console.log("path=" + path);
							var downUrl = "download?fileName=" + fileName
									+ "&filePath=" + path;
							console.log(downUrl);
							window.location.href = downUrl;
						} else if (selected.length == 0) {
							Ext.Msg.show({
								title : '提示',
								msg : '您需要选择一个文件,才能执行下载操作',
								icon : Ext.MessageBox.INFO,
								buttons : {
									yes : '确定'
								}
							});
						} else {
							Ext.Msg.show({
								title : '提示',
								msg : '目前只能选择一个文件',
								icon : Ext.MessageBox.INFO,
								buttons : {
									yes : '确定'
								}
							});
						}
						;
					},
					/**
					 * 刷新按钮响应函数
					 */
					refresh : function() {
						this.getStore().reload();
					},
					/**
					 * 为文件样式添加图标，绑定在列模式定义中
					 */
					addIcon : function(filename, cellmeta, record) {
						// 为javascript数组注册方法，用以判断文件后缀名是否包含在已准备的库中
						Array.prototype.contains = function(obj) {
							var i = this.length;
							while (i--) {
								if (this[i] === obj)
									return true;
							}
							return false;
						};

						// 定义文件类型数组
						var icons = new Array("3gp", "avi", "bmp", "chm",
								"dll", "doc", "docx", "dwf", "exe", "flv",
								"gif", "htm", "jpg","jpeg", "mdb", "mov", "mp3",
								"mp4", "rmvb","mpg", "pdf", "pps", "ppt", "pptx",
								"rar", "rtf", "swf", "txt", "wav", "wma",
								"wmv", "xls", "xlsx", "xml", "zip");
						var iconstyle = "db-ft-"; // 用于保存文件图标的css样式名
						var returnValue; // 返回的完整数据
						if (!record.data.file) { // 如果是文件夹的话
							iconstyle = "db-icn-folder";
						} else { // 不是文件夹的情况
							var index = filename.lastIndexOf('.');
							var extensionName = ''; // 文件后缀名
							if (index == -1) { // 没有文件后缀名
								iconstyle = "db-ft-unknown-small";
							} else {

								extensionName = filename.substring(index + 1);
								if (icons.contains(extensionName))
									iconstyle = "db-ft-"
											+ extensionName.toLowerCase()
											+ "-small";
								else
									iconstyle = "db-ft-unknown-small";
							}
						}
						if(record.data.name.length>40){
							returnValue='<li class="'+iconstyle+'" title="'+record.data.name+'" style="cursor:pointer;list-style:none;height:16px;background-repeat:no-repeat;padding-left:20px">'+record.data.name.substring(0,40)+'......</li>';
						}else{
							returnValue='<li class="'+iconstyle+'" title="'+record.data.name+'" style="cursor:pointer;list-style:none;height:16px;background-repeat:no-repeat;padding-left:20px">'+record.data.name+'</li>';
						}

						
//						returnValue = '<div class="'
//								+ iconstyle
//								+ '" style="height: 16px;background-repeat: no-repeat;padding-left:20px;"/>'
//								+ record.data.name + '</div>';

//						return "<ul id='mythingy'>"+returnValue+"</ul>";
						
						return returnValue;
					}

				});


//gridPanel
mypanel2 = Ext
.extend(
		Ext.grid.GridPanel,
		{
			selectModel : null,
			datastore : null,
			currentFolder : '',
			// 保存当前浏览的文件路径
			actions : null,
			// 菜单配置
			gridContextMenu : null,
			cm : null,
			url:null,
			h : null, // 高度
			w : null, // 宽度
			constructor : function(conf) {
				this.h = conf.height;
				this.w = conf.width;
				this.url=conf.url;
				// Ext.apply(this, conf); //相当于以上两句
				this.selectModel = new Ext.grid.CheckboxSelectionModel();
				var mystore2 = new Ext.data.Store({
					url : this.url,
					reader : new Ext.data.JsonReader({
						root : 'listfiles',
						totalProperty : 'totalFileNum'
					}, [ {
						name : 'file',
						type : 'bool'
					}, {
						name : 'name',
						type : 'string'
					}, {
						name : 'fileSize',
						type : 'string'
					}, {
						name : 'path',
						type : 'string'
					}, {
						name : 'fileType'
					}, {
						name : 'lastModitied',
						type : 'string'
					},
						{
						name : 'remainTime',
						type : 'string'
					}]),
					sortInfo : {
						field : 'fileSize'
					},
					// root : 'listfiles',
					// fields : [ 'file','name', 'fileType', 'fileSize',
					// 'lastModitied' ],
					autoLoad : true

				});
				// datastore end
				
				
				this.actions = [ new Ext.Action({
					text : '向上',
					iconCls : 'db-icn-back',
					handler : function() {
						this.listParentFiles();
					},
					scope : this
				}), new Ext.Action({
					text : '根目录',
					iconCls : 'db-icn-world',
					handler : function() {
						this.listRootFiles();
					},
					scope : this
				}), new Ext.Action({
					text : '新建文件夹',
					iconCls : 'db-icn-folder-new',
					handler : function() {
						this.createFolder();
					},
					scope : this
				}), new Ext.Action({
					text : '删除',
					title:'删除',
					iconCls : 'db-icn-delete',
					handler : function() {
						this.deleteFiles();
					},
					scope : this
				}), new Ext.Action({
					text : '压缩',
					iconCls : 'db-icn-folder-zip',
					handler : function() {
						this.compressionFiles();
					},
					scope : this
				}), new Ext.Action({
					text : '解压缩',
					handler : function() {
						this.decompressionFiles();
					},
					scope : this
				}), new Ext.Action({
					text : '刷新',
					iconCls : 'db-icn-refresh',
					handler : function() {
						this.refresh();
					},
					scope : this
				}), new Ext.Action({
					text : '上传',
					iconCls : 'db-icn-upload',
					handler : function() {
						this.upload();
					},
					scope : this
				}), new Ext.Action({
					text : '下载',
					iconCls : 'db-icn-download',
					handler : function() {
						this.download();
					},
					scope : this
				}), new Ext.Action({
					text : '移动',
					iconCls : 'db-icn-cut',
					handler : function() {
						this.move();
					},
					scope : this
				}), new Ext.Action({
					text : '复制',
					iconCls : 'db-icn-copy',
					handler : function() {
						this.copy();
					},
					scope : this
				}), new Ext.Action({ // index = 12
					text : '重命名',
					iconCls : 'db-icn-rename',
					handler : function() {
						Ext.Msg.alert('温馨提示', '此功能暂不开放!');
					},
					scope : this
				}) ];
				// action[] end
				var column = new Ext.grid.ColumnModel({
					defaults : {
						sortable : true
					// columns are not sortable by default
					},
					columns : [ new Ext.grid.RowNumberer(),
							this.selectModel, {
								id : 'name',
								header : '文件名',
								dataIndex : 'name',
								width : 50,
								align : 'left',
								renderer : this.addIcon
							// 加工单元格的原始数据
							}, {
								header : '文件类型',
								dataIndex : 'fileType',
								width : 20,
								align : 'center '
							}, {
								header : '大小',
								dataIndex : 'fileSize',
								width : 10,
								align : 'center '
							}, {
								header : '删除时间',
								dataIndex : 'lastModitied',
								width : 30,
								align : 'center '
							},
							{
								header : '有效时间',
								dataIndex : 'remainTime',
								width : 30,
								align : 'center '
							}
							]
				});
				// cm end
				mypanel2.superclass.constructor.call(this, {
					title : '回收站',
					id : 'gridPanel2',
					loadMask : {
						msg : '列表加载中...'
					},
					// width: this.w,
					height : this.h,
					width:this.w,
					ds : mystore2,
					sm : this.selectModel,
					cm : column,
					listeners : {
						'rowcontextmenu':this.mycontextmenu,
						scope : this
					},
					// bbar: new Ext.PagingToolbar({
					// pageSize: 10,
					// store: this.datastore,
					// displayInfo: true,
					// displayMsg: '显示 数据 {0} - {1} of {2}',
					// emptyMsg: "没有数据可以显示"
					// })
					viewConfig : {
						forceFit : true
					}
				});
				// superclass.constructor end
			},
			
			/**
			 * 永久删除文件
			 */
			delPermanent : function() {
				var selected = this.selectModel.getSelections();
				if (selected.length == 1) {
					var recordselected = selected[0];
					var path = recordselected.get('path');
					var deleteName = recordselected.get('name');
					var fileSize=recordselected.get('fileSize').split('.')[0];
					// Ajax请求配置
					var ajaxConf = {
						url : 'delPermanent',
						params : {
							"srcName" : deleteName,
							"delPath" : path
						}, 
						success : function(resp, opts) {
							
							// 刷新数据
							var respObj = Ext.util.JSON
									.decode(resp.responseText);
							if (respObj.success) {
								Ext.MessageBox.alert("提示", "删除成功！");
								$("#all_file").click();
								Ext.getCmp("gridPanel1").getStore()
								.reload();
								
							} else {
								Ext.MessageBox.alert("提示", respObj.msg);
							}
						},
						failur : function(resp, opts) {
							alert("this....")
							var respObj = Ext.util.JSON
									.decode(resp.responseText);
							Ext.MessageBox.alert("提示", respObj.msg);
						}
					};

					Ext.MessageBox.confirm("警告", "确定要删除文件" + deleteName
							+ "吗？", function(id) {
						if (id == 'yes') {
							Ext.Ajax.request(ajaxConf);
						}
					}, this);

				} else if (selected.length == 0) {
					Ext.Msg.show({
						title : '提示',
						msg : '您需要选择一个文件,才能执行删除操作',
						icon : Ext.MessageBox.INFO,
						buttons : {
							yes : '确定'
						}
					});
				}else{
					Ext.Msg.show({
						title : '对不起',
						msg : '删除操作当前只支持对单个文件',
						icon : Ext.MessageBox.INFO,
						buttons : {
							yes : '确定'
						}
					});
				}

			},

			/**
			 * 回收站文件还原
			 */
			reverse : function() {
				var selected = this.selectModel.getSelections();
				if (selected.length == 1) {
					var recordselected = selected[0];
					var path = recordselected.get('path');
					var name = recordselected.get('name');
					// Ajax请求配置
					var ajaxConf = {
						url : 'reverse',
						params : {
							"srcName" : name,
							"delPath" : path
						}, 
						success : function(resp, opts) {
							// 刷新数据
							var respObj = Ext.util.JSON
									.decode(resp.responseText);
							if (respObj.success) {
								usedspace=respObj.usedspace;
					        	$("#use_space").html((usedspace/1024/1024).toFixed(2)+"M")
					        	$(".spaceUI_span").width(155*(usedspace/1024/1024).toFixed(2)/totalsize);
								Ext.MessageBox.alert("提示", "还原文件成功！");
								$("#all_file").click();
								Ext.getCmp("gridPanel1").getStore()
								.reload();
								
								
							} else {
								Ext.MessageBox.alert("提示", "还原文件失败！");
							}
						},
						failur : function(resp, opts) {
							alert("this....")
							var respObj = Ext.util.JSON
									.decode(resp.responseText);
							Ext.MessageBox.alert("提示", "还原文件失败！");
						}
					};

					Ext.MessageBox.confirm("警告", "确定要还原文件吗？", function(id) {
						if (id == 'yes') {
							Ext.Ajax.request(ajaxConf);
						}
					}, this);

				} else if (selected.length == 0) {
					Ext.Msg.show({
						title : '提示',
						msg : '您需要选择一个文件,才能执行还原操作',
						icon : Ext.MessageBox.INFO,
						buttons : {
							yes : '确定'
						}
					});
				}else{
					Ext.Msg.show({
						title : '对不起',
						msg : '删除操作当前只支持对单个文件',
						icon : Ext.MessageBox.INFO,
						buttons : {
							yes : '确定'
						}
					});
				}
			},
			
			
			/**
			 * 右键菜单
			 */
			mycontextmenu:function(gridPanel2,rowIndex,e){
				gridPanel2.getSelectionModel().selectRow(rowIndex);//获取选中行
				
				$('#gridPanel2').contextMenu('myMenu2', 
					     {
					          bindings: 
					          {
					            'delPermanent': function(t) {
					        		  gridPanel2.delPermanent();
					        	 },
					        	'reverse': function(t) {
					        		 gridPanel2.reverse();
					        	},
					          }

					    });
			},
		      

			/**
			 * 为文件样式添加图标，绑定在列模式定义中
			 */
			addIcon : function(filename, cellmeta, record) {
				// 为javascript数组注册方法，用以判断文件后缀名是否包含在已准备的库中
				Array.prototype.contains = function(obj) {
					var i = this.length;
					while (i--) {
						if (this[i] === obj)
							return true;
					}
					return false;
				};

				// 定义文件类型数组
				var icons = new Array("3gp", "avi", "bmp", "chm",
						"dll", "doc", "docx", "dwf", "exe", "flv",
						"gif","jpeg","rmvb", "htm", "jpg", "mdb", "mov", "mp3",
						"mp4", "mpg", "pdf", "pps", "ppt", "pptx",
						"rar", "rtf", "swf", "txt", "wav", "wma",
						"wmv", "xls", "xlsx", "xml", "zip");
				var iconstyle = "db-ft-"; // 用于保存文件图标的css样式名
				var returnValue; // 返回的完整数据
				if (!record.data.file) { // 如果是文件夹的话
					iconstyle = "db-icn-folder";
				} else { // 不是文件夹的情况
					var index = filename.lastIndexOf('.');
					var extensionName = ''; // 文件后缀名
					if (index == -1) { // 没有文件后缀名
						iconstyle = "db-ft-unknown-small";
					} else {

						extensionName = filename.substring(index + 1);
						if (icons.contains(extensionName))
							iconstyle = "db-ft-"
									+ extensionName.toLowerCase()
									+ "-small";
						else
							iconstyle = "db-ft-unknown-small";
					}
				}
				if(record.data.name.length>40){
					returnValue='<li class="'+iconstyle+'" title="'+record.data.name+'" style="cursor:pointer;list-style:none;height:16px;background-repeat:no-repeat;padding-left:20px">'+record.data.name.substring(0,40)+'......</li>';
				}else{
					returnValue='<li class="'+iconstyle+'" title="'+record.data.name+'" style="cursor:pointer;list-style:none;height:16px;background-repeat:no-repeat;padding-left:20px">'+record.data.name+'</li>';
				}

				
//				returnValue = '<div class="'
//						+ iconstyle
//						+ '" style="height: 16px;background-repeat: no-repeat;padding-left:20px;"/>'
//						+ record.data.name + '</div>';

//				return "<ul id='mythingy'>"+returnValue+"</ul>";
				
				return returnValue;
			}

		});